{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 第四回：文字图例尽眉目"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 125,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import matplotlib.dates as mdates\n",
    "import datetime"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 一、Figure和Axes上的文本"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Matplotlib具有广泛的文本支持，包括对数学表达式的支持、对栅格和矢量输出的TrueType支持、具有任意旋转的换行分隔文本以及Unicode支持。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.文本API示例"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "下面的命令是介绍了通过pyplot API和objected-oriented API分别创建文本的方式。\n",
    "\n",
    "| pyplot API | OO API  | description  |\n",
    "| ---------- | ------- | ------------ |\n",
    "| `text` | `text` | 在子图axes的任意位置添加文本|\n",
    "| `annotate` | `annotate` | 在子图axes的任意位置添加注解，包含指向性的箭头|\n",
    "| `xlabel` | `set_xlabel` | 为子图axes添加x轴标签 |\n",
    "| `ylabel` | `set_ylabel` | 为子图axes添加y轴标签 |\n",
    "| `title` | `set_title` | 为子图axes添加标题 |\n",
    "| `figtext` | `text` | 在画布figure的任意位置添加文本  |\n",
    "| `suptitle` | `suptitle` | 为画布figure添加标题 |"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "通过一个综合例子，以OO模式展示这些API是如何控制一个图像中各部分的文本，在之后的章节我们再详细分析这些api的使用技巧"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "fig = plt.figure()\n",
    "ax = fig.add_subplot()\n",
    "\n",
    "\n",
    "# 分别为figure和ax设置标题，注意两者的位置是不同的\n",
    "fig.suptitle('bold figure suptitle', fontsize=14, fontweight='bold')\n",
    "ax.set_title('axes title')\n",
    "\n",
    "# 设置x和y轴标签\n",
    "ax.set_xlabel('xlabel')\n",
    "ax.set_ylabel('ylabel')\n",
    "\n",
    "# 设置x和y轴显示范围均为0到10\n",
    "ax.axis([0, 10, 0, 10])\n",
    "\n",
    "# 在子图上添加文本\n",
    "ax.text(3, 8, 'boxed italics text in data coords', style='italic',\n",
    "        bbox={'facecolor': 'red', 'alpha': 0.5, 'pad': 10})\n",
    "\n",
    "# 在画布上添加文本，一般在子图上添加文本是更常见的操作，这种方法很少用\n",
    "fig.text(0.4,0.8,'This is text for figure')\n",
    "\n",
    "ax.plot([2], [1], 'o')\n",
    "# 添加注解\n",
    "ax.annotate('annotate', xy=(2, 1), xytext=(3, 4),arrowprops=dict(facecolor='black', shrink=0.05));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.text - 子图上的文本"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "text的调用方式为`Axes.text(x, y, s, fontdict=None, **kwargs) `  \n",
    "其中`x`,`y`为文本出现的位置，默认状态下即为当前坐标系下的坐标值，  \n",
    "`s`为文本的内容，  \n",
    "`fontdict`是可选参数，用于覆盖默认的文本属性，  \n",
    "`**kwargs`为关键字参数，也可以用于传入文本样式参数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "重点解释下fontdict和\\*\\*kwargs参数，这两种方式都可以用于调整呈现的文本样式，最终效果是一样的，不仅text方法，其他文本方法如set_xlabel,set_title等同样适用这两种方式修改样式。通过一个例子演示这两种方法是如何使用的。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(10,3))\n",
    "axes = fig.subplots(1,2)\n",
    "\n",
    "# 使用关键字参数修改文本样式\n",
    "axes[0].text(0.3, 0.8, 'modify by **kwargs', style='italic',\n",
    "        bbox={'facecolor': 'red', 'alpha': 0.5, 'pad': 10});\n",
    "\n",
    "# 使用fontdict参数修改文本样式\n",
    "font = {'bbox':{'facecolor': 'red', 'alpha': 0.5, 'pad': 10}, 'style':'italic'}\n",
    "axes[1].text(0.3, 0.8, 'modify by fontdict', fontdict=font);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "matplotlib中所有支持的样式参数请参考[官网文档说明](https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.text.html#matplotlib.axes.Axes.text)，大多数时候需要用到的时候再查询即可。  \n",
    "\n",
    "下表列举了一些常用的参数供参考。\n",
    "\n",
    "| Property                      | Description                                |\n",
    "| ------------------------ | :-------------------------- |\n",
    "| `alpha` |float or None   透明度，越接近0越透明，越接近1越不透明   |                           \n",
    "| `backgroundcolor` | color  文本的背景颜色                   |\n",
    "| `bbox` | dict with properties for patches.FancyBboxPatch 用来设置text周围的box外框 |\n",
    "| `color` or c | color 字体的颜色             |\n",
    "| `fontfamily` or family | {FONTNAME, 'serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'} 字体的类型|\n",
    "| `fontsize` or size | float or {'xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'} 字体大小|\n",
    "| `fontstyle` or style | {'normal', 'italic', 'oblique'} 字体的样式是否倾斜等     |\n",
    "| `fontweight` or weight | {a numeric value in range 0-1000, 'ultralight', 'light', 'normal', 'regular', 'book', 'medium', 'roman', 'semibold', 'demibold', 'demi', 'bold', 'heavy', 'extra bold', 'black'} 文本粗细|         \n",
    "| `horizontalalignment` or ha | {'center', 'right', 'left'}  选择文本左对齐右对齐还是居中对齐         |\n",
    "| `linespacing` | float (multiple of font size)   文本间距 |\n",
    "| `rotation` | float or {'vertical', 'horizontal'} 指text逆时针旋转的角度，“horizontal”等于0，“vertical”等于90  |\n",
    "| `verticalalignment` or va | {'center', 'top', 'bottom', 'baseline', 'center_baseline'}  文本在垂直角度的对齐方式 |\n",
    " \n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.xlabel和ylabel - 子图的x，y轴标签"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "xlabel的调用方式为`Axes.set_xlabel(xlabel, fontdict=None, labelpad=None, *, loc=None, **kwargs)`  \n",
    "ylabel方式类似，这里不重复写出。  \n",
    "其中`xlabel`即为标签内容,  \n",
    "`fontdict`和`**kwargs`用来修改样式，上一小节已介绍,  \n",
    "`labelpad`为标签和坐标轴的距离，默认为4，  \n",
    "`loc`为标签位置，可选的值为'left', 'center', 'right'之一，默认为居中"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 观察labelpad和loc参数的使用效果\n",
    "fig = plt.figure(figsize=(10,3))\n",
    "axes = fig.subplots(1,2)\n",
    "axes[0].set_xlabel('xlabel',labelpad=20,loc='left')\n",
    "\n",
    "# loc参数仅能提供粗略的位置调整，如果想要更精确的设置标签的位置，可以使用position参数+horizontalalignment参数来定位\n",
    "# position由一个元组过程，第一个元素0.2表示x轴标签在x轴的位置，第二个元素对于xlabel其实是无意义的，随便填一个数都可以\n",
    "# horizontalalignment='left'表示左对齐，这样设置后x轴标签就能精确定位在x=0.2的位置处\n",
    "axes[1].set_xlabel('xlabel', position=(0.2, _), horizontalalignment='left');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.title和suptitle - 子图和画布的标题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "title的调用方式为`Axes.set_title(label, fontdict=None, loc=None, pad=None, *, y=None, **kwargs)`  \n",
    "其中label为子图标签的内容，`fontdict`,`loc`,`**kwargs`和之前小节相同不重复介绍  \n",
    "`pad`是指标题偏离图表顶部的距离，默认为6    \n",
    "`y`是title所在子图垂向的位置。默认值为1，即title位于子图的顶部。  \n",
    "\n",
    "suptitle的调用方式为`figure.suptitle(t, **kwargs)`  \n",
    "其中`t`为画布的标题内容"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAEHCAYAAACZYYNgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAWxElEQVR4nO3dfbRldX3f8fdHRiACQitDGgF5CAM6mqbaKzFNjDRSHWhgXI2aYUlaW+KoFVezktUEg4tQskyCWbULlxgzjZb4gMNIG9dYxxKbQnxoxnApShzImIFMnYsGBgSUIs/f/nH2tIfrvXPOvff87jlz5/1a6y7O3vt39v7+ODPf9Zm9990nVYUkSZLaeNa4C5AkSVrJDFuSJEkNGbYkSZIaMmxJkiQ1ZNiSJElqyLAlSZLUkGFLOogluTzJx/ezfUeSsxa4z1cm2bmIWn4oyWeSPJTkU0nelORPFrqf5ZLk4SSn7mf77iRnL2dNkibTqnEXIKmdJA/3LT4HeAx4qlt+66D3V9WLF3rMqvoicMZC3we8Hvhh4HlV9WS37hOL2M/IJbkJ+HhV/eG+dVV1ZN/2a4CZqnr38lcnadJ5ZktawarqyH0/wDeB8/rWTUSQ6XMS8I2+oNVEeux9kpaNDUfSoUk+muR73WXDqX0b+i+FJTkzyXSS7ya5J8n75tpZkrOSzPQt/3qSu7v970zy6jne8++Ay4Bf6C7PXZTkzUm+1DfmNd37H0rywSR/luSXum3PuBya5OQklWRVt3xTkvck+TLwCHBqkhcm+XyS73T7feM883kP8ErgA11tH+jWV5LTkmwE3gT8Wrf9M3Ps41lJLklyZ5L7k2xJ8nfn/0gkrSSGLUnnA5uBY4CtwAfmGXcVcFVVPRf4UWDLoB0nOQO4GHh5VR0FvBbYPXtcVf0m8NvAdd1Ztw/P2s+xwPXAu4DnATuBfzTE3Pr9IrAROArYC3weuBY4DtgAfDDJ2jlquxT4InBxV9vFs7Zvone5873d9vPmOPY7gdcBrwKeDzwAXL3A+iUdoAxbkr5UVduq6ingY8CPzzPuCeC0JMdW1cNVtX2IfT8FHAasTfLsqtpdVXcuosZzgR1V9V+6y4zvB/52gfu4pqp2dO9fB+yuqv9UVU9W1a3AfwbesIjahvE24NKqmqmqx4DLgdfvO/MmaWUzbEnqDy2PAIfPEwIuAk4H/irJzUl+btCOq2oX8Mv0wsW9STYnef4ianw+sKdvvwXMzD98Tnv6Xp8E/ESSB/f90LsU+PcWUdswTgL+uO9Yd9ALoj/c6HiSJohhS9JQquqvq+oCepfdrgSuT3LEEO+7tqp+ml7gqO69C/Vt4IR9C0nSvwz8H3q/bbnPXKGp+l7vAf6sqo7p+zmyqt4+3zQG1Ddo+x7gnFnHO7yq7h7wPkkrgGFL0lCSXJhkdVU9DTzYrX56wHvOSPKzSQ4DHgW+P+g98/gs8GNJXteddXsHzwxUXwV+JskLkhxN796u/fmvwOlJfjHJs7uflyd50Tzj7wHmfabWENs/BLwnyUkASVYnWT+gRkkrhGFL0rDWATu6Z3ddBWyoqu8PeM9hwO8C99G7XHkcg4PQD6iq++jdT/Ve4H5gLTBN77lhVNXngeuA24Bb6IWp/e3ve8Br6N0Y/62utiu7eudyFb17rB5I8v45tn+Y3n1pDyb59Dzv3wr8SZLvAduBn9hfjZJWjvRufZCkA0f3nKwZ4E1VdeO465Gk/fHMlqQDQpLXJjmmuyT5G0DonSGSpIlm2JJ0oPhJ4E56lyTPA143xGVMSRo7LyNKkiQ15JktSZKkhgxbkiRJDRm2JEmSGjJsSZIkNWTYkiRJasiwJUmS1JBhS5IkqSHDliRJUkOGLUmSpIYMW5IkSQ0ZtiRJkhoybEmSJDVk2JIkSWrIsCVJktSQYUuSJKkhw5YkSVJDhi1JkqSGDFuSJEkNGbYkSZIaMmxJkiQ1ZNiSJElqyLAlSZLUkGFLkiSpIcOWJElSQ4YtSZKkhgxbkiRJDRm2JEmSGjJsSZIkNWTYkiRJasiwJUmS1JBhS8+Q5PIkH9/P9h1JzlrgPl+ZZOdSaxvm+EluSvJLoziWJEmjsGrcBWh5JXm4b/E5wGPAU93yWwe9v6pevNBjVtUXgTMW+r4k1wAzVfXuuY6f5HLgtKq6cKH7liRpuXhm6yBTVUfu+wG+CZzXt+4T465PkqSVxrCluRya5KNJvtddtpvatyHJ7iRnd6/PTDKd5LtJ7knyvrl2luSsJDN9y7+e5O5u/zuTvHqO92wE3gT8WpKHk3ym//hJ1gG/AfxCt/1r8xz7XyW5I8kDSW5IctJS/sdIkrRQhi3N5XxgM3AMsBX4wDzjrgKuqqrnAj8KbBm04yRnABcDL6+qo4DXArtnj6uqTcAngPd2Z93Om7X9vwG/DVzXbf/xOY61nl4g+2fAauCLwCcH1ShJ0igZtjSXL1XVtqp6CvgY8ANBpvMEcFqSY6vq4araPsS+nwIOA9YmeXZV7a6qO0dU92xvA36nqu6oqifphbN/4NktSdJyMmxpLn/b9/oR4PAkc/0yxUXA6cBfJbk5yc8N2nFV7QJ+GbgcuDfJ5iTPX3rJczoJuCrJg0keBL4DBDi+0fEkSfoBhi0tWlX9dVVdABwHXAlcn+SIId53bVX9NL0wVN175xw6aFcDtu8B3lpVx/T9/FBV/c9BNUqSNCqGLS1akguTrK6qp4EHu9VPD3jPGUl+NslhwKPA9/fznnuAU/ezu3uAk5PM9+f4Q8C7kry4O/bRSd6wv/okSRo1w5aWYh2wo3t211XAhqr6/oD3HAb8LnAfvcuVxwHvmmfsh+nd2/Vgkk/Psf1T3X/vT/K/Zm+sqj+md9Zsc5LvAl8HzhlQn6QDlA9l1qRK1aArMZIkjd8QD2Vew4Q86HiuhzLP2n45s2pNchPw8ar6w+WoUcvHM1uSpAOCD2XWgcqwJUlaSXwosyaOYUuStJL4UGZNHMOWJGkl8aHMmjiGLUnSSuJDmTVxDFuSpIOOD2XWcjJsSZIOOj6UWcvJsCVJOhj5UGYtGx9qKkmS1JBntiRJkhoaGLaSfCTJvUm+Ps/2JHl/kl1JbkvystGXKUmLYw+TNG7DnNm6ht617fmcQ+/7qNYAG4HfX3pZkjQy12APkzRGA8NWVX2B3vM95rMe+Gj1bAeOSfIjoypQkpbCHiZp3EZxz9bx9J4Hss8MPnRN0oHDHiapqbmeqttM9+WcGwGOOOKIf/jCF75wOQ8vacxuueWW+6pq9bjrWAz7l3RwW0r/GkXYuhs4sW/5hG7dD+i+nHMTwNTUVE1PT4/g8JIOFEn+97hrmMNQPcz+JR3cltK/RnEZcSvwz7vf6HkF8FBVfXsE+5Wk5WAPk9TUwDNbST4JnAUcm2QG+E3g2QBV9SFgG3AusIvel37+y1bFStJC2cMkjdvAsNV9Uef+thfwjpFVJEkjZA+TNG4+QV6SJKkhw5YkSVJDhi1JkqSGDFuSJEkNGbYkSZIaMmxJkiQ1ZNiSJElqyLAlSZLUkGFLkiSpIcOWJElSQ4YtSZKkhgxbkiRJDRm2JEmSGjJsSZIkNWTYkiRJasiwJUmS1JBhS5IkqSHDliRJUkOGLUmSpIYMW5IkSQ0ZtiRJkhoybEmSJDVk2JIkSWrIsCVJktTQUGErybokO5PsSnLJHNtfkOTGJLcmuS3JuaMvVZIWzv4ladwGhq0khwBXA+cAa4ELkqydNezdwJaqeimwAfjgqAuVpIWyf0maBMOc2ToT2FVVd1XV48BmYP2sMQU8t3t9NPCt0ZUoSYtm/5I0dsOEreOBPX3LM926fpcDFyaZAbYB75xrR0k2JplOMr13795FlCtJC2L/kjR2o7pB/gLgmqo6ATgX+FiSH9h3VW2qqqmqmlq9evWIDi1JS2L/ktTUMGHrbuDEvuUTunX9LgK2AFTVnwOHA8eOokBJWgL7l6SxGyZs3QysSXJKkkPp3UC6ddaYbwKvBkjyInrNyvPsksbN/iVp7AaGrap6ErgYuAG4g95v7exIckWS87thvwq8JcnXgE8Cb66qalW0JA3D/iVpEqwaZlBVbaN342j/usv6Xt8O/NRoS5OkpbN/SRo3nyAvSZLUkGFLkiSpIcOWJElSQ4YtSZKkhgxbkiRJDRm2JEmSGjJsSZIkNWTYkiRJasiwJUmS1JBhS5IkqSHDliRJUkOGLUmSpIYMW5IkSQ0ZtiRJkhoybEmSJDVk2JIkSWrIsCVJktSQYUuSJKkhw5YkSVJDhi1JkqSGDFuSJEkNGbYkSZIaMmxJkiQ1ZNiSJElqaKiwlWRdkp1JdiW5ZJ4xb0xye5IdSa4dbZmStDj2L0njtmrQgCSHAFcD/wSYAW5OsrWqbu8bswZ4F/BTVfVAkuNaFSxJw7J/SZoEw5zZOhPYVVV3VdXjwGZg/awxbwGurqoHAKrq3tGWKUmLYv+SNHbDhK3jgT19yzPdun6nA6cn+XKS7UnWzbWjJBuTTCeZ3rt37+IqlqTh2b8kjd2obpBfBawBzgIuAP5jkmNmD6qqTVU1VVVTq1evHtGhJWlJ7F+SmhombN0NnNi3fEK3rt8MsLWqnqiqvwG+Qa95SdI42b8kjd0wYetmYE2SU5IcCmwAts4a82l6/yokybH0TsvfNboyJWlR7F+Sxm5g2KqqJ4GLgRuAO4AtVbUjyRVJzu+G3QDcn+R24Ebg31bV/a2KlqRh2L8kTYJU1VgOPDU1VdPT02M5tqTxSHJLVU2Nu46lsn9JB5+l9C+fIC9JktSQYUuSJKkhw5YkSVJDhi1JkqSGDFuSJEkNGbYkSZIaMmxJkiQ1ZNiSJElqyLAlSZLUkGFLkiSpIcOWJElSQ4YtSZKkhgxbkiRJDRm2JEmSGjJsSZIkNWTYkiRJasiwJUmS1JBhS5IkqSHDliRJUkOGLUmSpIYMW5IkSQ0ZtiRJkhoybEmSJDU0VNhKsi7JziS7klyyn3E/n6SSTI2uRElaPPuXpHEbGLaSHAJcDZwDrAUuSLJ2jnFHAf8G+Mqoi5SkxbB/SZoEw5zZOhPYVVV3VdXjwGZg/Rzjfgu4Enh0hPVJ0lLYvySN3TBh63hgT9/yTLfu/0nyMuDEqvrsCGuTpKWyf0kauyXfIJ/kWcD7gF8dYuzGJNNJpvfu3bvUQ0vSkti/JC2HYcLW3cCJfcsndOv2OQp4CXBTkt3AK4Ctc91kWlWbqmqqqqZWr169+KolaTj2L0ljN0zYuhlYk+SUJIcCG4Ct+zZW1UNVdWxVnVxVJwPbgfOrarpJxZI0PPuXpLEbGLaq6kngYuAG4A5gS1XtSHJFkvNbFyhJi2X/kjQJVg0zqKq2AdtmrbtsnrFnLb0sSRoN+5ekcfMJ8pIkSQ0ZtiRJkhoybEmSJDVk2JIkSWrIsCVJktSQYUuSJKkhw5YkSVJDhi1JkqSGDFuSJEkNGbYkSZIaMmxJkiQ1ZNiSJElqyLAlSZLUkGFLkiSpIcOWJElSQ4YtSZKkhgxbkiRJDRm2JEmSGjJsSZIkNWTYkiRJasiwJUmS1JBhS5IkqSHDliRJUkOGLUmSpIaGCltJ1iXZmWRXkkvm2P4rSW5PcluSP01y0uhLlaSFs39JGreBYSvJIcDVwDnAWuCCJGtnDbsVmKqqvw9cD7x31IVK0kLZvyRNgmHObJ0J7Kqqu6rqcWAzsL5/QFXdWFWPdIvbgRNGW6YkLYr9S9LYDRO2jgf29C3PdOvmcxHwubk2JNmYZDrJ9N69e4evUpIWx/4laexGeoN8kguBKeD35tpeVZuqaqqqplavXj3KQ0vSkti/JLWyaogxdwMn9i2f0K17hiRnA5cCr6qqx0ZTniQtif1L0tgNc2brZmBNklOSHApsALb2D0jyUuAPgPOr6t7RlylJi2L/kjR2A8NWVT0JXAzcANwBbKmqHUmuSHJ+N+z3gCOBTyX5apKt8+xOkpaN/UvSJBjmMiJVtQ3YNmvdZX2vzx5xXZI0EvYvSePmE+QlSZIaMmxJkiQ1ZNiSJElqyLAlSZLUkGFLkiSpIcOWJElSQ4YtSZKkhgxbkiRJDRm2JEmSGjJsSZIkNWTYkiRJasiwJUmS1JBhS5IkqSHDliRJUkOGLUmSpIYMW5IkSQ0ZtiRJkhoybEmSJDVk2JIkSWrIsCVJktSQYUuSJKkhw5YkSVJDhi1JkqSGhgpbSdYl2ZlkV5JL5th+WJLruu1fSXLyyCuVpEWwf0kat4FhK8khwNXAOcBa4IIka2cNuwh4oKpOA/4DcOWoC5WkhbJ/SZoEw5zZOhPYVVV3VdXjwGZg/awx64E/6l5fD7w6SUZXpiQtiv1L0tgNE7aOB/b0Lc906+YcU1VPAg8BzxtFgZK0BPYvSWO3ajkPlmQjsLFbfCzJ15fz+A0dC9w37iJGZKXMZaXMA1bWXM4YdwGLZf86IDiXybNS5gFL6F/DhK27gRP7lk/o1s01ZibJKuBo4P7ZO6qqTcAmgCTTVTW1mKInjXOZPCtlHrDy5rLMh7R/DeBcJtNKmctKmQcsrX8NcxnxZmBNklOSHApsALbOGrMV+Bfd69cD/6OqarFFSdKI2L8kjd3AM1tV9WSSi4EbgEOAj1TVjiRXANNVtRX4MPCxJLuA79BraJI0VvYvSZNgqHu2qmobsG3Wusv6Xj8KvGGBx960wPGTzLlMnpUyD3AuS2L/Gsi5TKaVMpeVMg9Ywlzi2XJJkqR2/LoeSZKkhpqHrZXyVRlDzONXktye5LYkf5rkpHHUOYxBc+kb9/NJKsnE/ibJMHNJ8sbus9mR5NrlrnFYQ/wZe0GSG5Pc2v05O3ccdQ6S5CNJ7p3v0QjpeX83z9uSvGy5axzWSulfYA9bzvqGZf+aPM36V1U1+6F3Q+qdwKnAocDXgLWzxvxr4EPd6w3AdS1rajiPfww8p3v99kmcx7Bz6cYdBXwB2A5MjbvuJXwua4Bbgb/TLR837rqXMJdNwNu712uB3eOue565/AzwMuDr82w/F/gcEOAVwFfGXfMSPpOJ718LmIs9bMLmYf8ay1ya9K/WZ7ZWyldlDJxHVd1YVY90i9vpPc9nEg3zmQD8Fr3viHt0OYtboGHm8hbg6qp6AKCq7l3mGoc1zFwKeG73+mjgW8tY39Cq6gv0fqtvPuuBj1bPduCYJD+yPNUtyErpX2APm0T2rwnUqn+1Dlsr5asyhplHv4voJd9JNHAu3WnRE6vqs8tZ2CIM87mcDpye5MtJtidZt2zVLcwwc7kcuDDJDL3frnvn8pQ2cgv9+zQuK6V/gT1sEtm/DkyL6l/L+nU9B4MkFwJTwKvGXctiJHkW8D7gzWMuZVRW0TsVfxa9f6l/IcmPVdWD4yxqkS4Arqmqf5/kJ+k9G+olVfX0uAvTymEPmyj2rxWi9ZmthXxVBtnPV2WM2TDzIMnZwKXA+VX12DLVtlCD5nIU8BLgpiS76V2T3jqhN5gO87nMAFur6omq+hvgG/Sa16QZZi4XAVsAqurPgcPpfe/YgWaov08TYKX0L7CHTWIPs38dTP2r8Y1mq4C7gFP4/zfNvXjWmHfwzBtMtyznzXAjnMdL6d0guGbc9S51LrPG38QE3ly6gM9lHfBH3etj6Z3+fd64a1/kXD4HvLl7/SJ69zxk3LXPM5+Tmf8G03/KM28w/Ytx17uEz2Ti+9cC5mIPm7B52L/GNp+R96/lKPpcemn8TuDSbt0V9P7lBL10+ylgF/AXwKnj/h+9yHn8d+Ae4Kvdz9Zx17zYucwaO5GNagGfS+hdUrgd+Etgw7hrXsJc1gJf7hrZV4HXjLvmeebxSeDbwBP0/mV+EfA24G19n8nV3Tz/8gD/83VA9K8h52IPm7B52L/GMo8m/csnyEuSJDXkE+QlSZIaMmxJkiQ1ZNiSJElqyLAlSZLUkGFLkiSpIcOWJElSQ4YtSZKkhgxbkiRJDf1fgY/CPs3fwUgAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 720x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 观察pad参数的使用效果\n",
    "fig = plt.figure(figsize=(10,3))\n",
    "fig.suptitle('This is figure title',y=1.2) # 通过参数y设置高度\n",
    "axes = fig.subplots(1,2)\n",
    "axes[0].set_title('This is title',pad=15)\n",
    "axes[1].set_title('This is title',pad=6);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.annotate - 子图的注解"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "annotate的调用方式为`Axes.annotate(text, xy, *args, **kwargs)`  \n",
    "其中`text`为注解的内容，  \n",
    "`xy`为注解箭头指向的坐标，  \n",
    "其他常用的参数包括：  \n",
    "`xytext`为注解文字的坐标，  \n",
    "`xycoords`用来定义xy参数的坐标系，   \n",
    "`textcoords`用来定义xytext参数的坐标系，  \n",
    "`arrowprops`用来定义指向箭头的样式  \n",
    "annotate的参数非常复杂，这里仅仅展示一个简单的例子，更多参数可以查看[官方文档中的annotate介绍](https://matplotlib.org/stable/tutorials/text/annotations.html#plotting-guide-annotation)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 110,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot()\n",
    "ax.annotate(\"\",\n",
    "            xy=(0.2, 0.2), xycoords='data',\n",
    "            xytext=(0.8, 0.8), textcoords='data',\n",
    "            arrowprops=dict(arrowstyle=\"->\", connectionstyle=\"arc3,rad=0.2\")\n",
    "            );"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " ### 6.字体的属性设置\n",
    " 字体设置一般有全局字体设置和自定义局部字体设置两种方法。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "  [为方便在图中加入合适的字体，可以尝试了解中文字体的英文名称,该链接告诉了常用中文的英文名称](https://www.cnblogs.com/chendc/p/9298832.html)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [],
   "source": [
    "#该block讲述如何在matplotlib里面，修改字体默认属性，完成全局字体的更改。\n",
    "plt.rcParams['font.sans-serif'] = ['SimSun']    # 指定默认字体为新宋体。\n",
    "plt.rcParams['axes.unicode_minus'] = False      # 解决保存图像时 负号'-' 显示为方块和报错的问题。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#局部字体的修改方法1\n",
    "x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n",
    "plt.plot(x, label='小示例图标签')\n",
    "\n",
    "# 直接用字体的名字\n",
    "plt.xlabel('x 轴名称参数', fontproperties='Microsoft YaHei', fontsize=16)         # 设置x轴名称，采用微软雅黑字体\n",
    "plt.ylabel('y 轴名称参数', fontproperties='Microsoft YaHei', fontsize=14)         # 设置Y轴名称\n",
    "plt.title('坐标系的标题',  fontproperties='Microsoft YaHei', fontsize=20)         # 设置坐标系标题的字体\n",
    "plt.legend(loc='lower right', prop={\"family\": 'Microsoft YaHei'}, fontsize=10) ;   # 小示例图的字体设置"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 二、Tick上的文本"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "设置tick（刻度）和ticklabel（刻度标签）也是可视化中经常需要操作的步骤，matplotlib既提供了自动生成刻度和刻度标签的模式（默认状态），同时也提供了许多让使用者灵活设置的方式。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1.简单模式\n",
    "可以使用axis的`set_ticks`方法手动设置标签位置，使用axis的`set_ticklabels`方法手动设置标签格式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [],
   "source": [
    "x1 = np.linspace(0.0, 5.0, 100)\n",
    "y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 118,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用axis的set_ticks方法手动设置标签位置的例子，该案例中由于tick设置过大，所以会影响绘图美观，不建议用此方式进行设置tick\n",
    "fig, axs = plt.subplots(2, 1, figsize=(5, 3), tight_layout=True)\n",
    "axs[0].plot(x1, y1)\n",
    "axs[1].plot(x1, y1)\n",
    "axs[1].xaxis.set_ticks(np.arange(0., 10.1, 2.));"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 119,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x216 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 使用axis的set_ticklabels方法手动设置标签格式的例子\n",
    "fig, axs = plt.subplots(2, 1, figsize=(5, 3), tight_layout=True)\n",
    "axs[0].plot(x1, y1)\n",
    "axs[1].plot(x1, y1)\n",
    "ticks = np.arange(0., 8.1, 2.)\n",
    "tickla = [f'{tick:1.2f}' for tick in ticks]\n",
    "axs[1].xaxis.set_ticks(ticks)\n",
    "axs[1].xaxis.set_ticklabels(tickla);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 120,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<a list of 14 Line2D ticklines objects>\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "#一般绘图时会自动创建刻度，而如果通过上面的例子使用set_ticks创建刻度可能会导致tick的范围与所绘制图形的范围不一致的问题。\n",
    "#所以在下面的案例中，axs[1]中set_xtick的设置要与数据范围所对应，然后再通过set_xticklabels设置刻度所对应的标签\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "fig, axs = plt.subplots(2, 1, figsize=(6, 4), tight_layout=True)\n",
    "x1 = np.linspace(0.0, 6.0, 100)\n",
    "y1 = np.cos(2 * np.pi * x1) * np.exp(-x1)\n",
    "axs[0].plot(x1, y1)\n",
    "axs[0].set_xticks([0,1,2,3,4,5,6])\n",
    "\n",
    "axs[1].plot(x1, y1)\n",
    "axs[1].set_xticks([0,1,2,3,4,5,6])#要将x轴的刻度放在数据范围中的哪些位置\n",
    "axs[1].set_xticklabels(['zero','one', 'two', 'three', 'four', 'five','six'],#设置刻度对应的标签\n",
    "                   rotation=30, fontsize='small')#rotation选项设定x刻度标签倾斜30度。\n",
    "axs[1].xaxis.set_ticks_position('bottom')#set_ticks_position()方法是用来设置刻度所在的位置，常用的参数有bottom、top、both、none\n",
    "print(axs[1].xaxis.get_ticklines());"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.Tick Locators and Formatters"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "除了上述的简单模式，还可以使用`Tick Locators and Formatters`完成对于刻度位置和刻度标签的设置。\n",
    "其中[Axis.set_major_locator](https://matplotlib.org/api/_as_gen/matplotlib.axis.Axis.set_major_locator.html#matplotlib.axis.Axis.set_major_locator)和[Axis.set_minor_locator](https://matplotlib.org/api/_as_gen/matplotlib.axis.Axis.set_minor_locator.html#matplotlib.axis.Axis.set_minor_locator)方法用来设置标签的位置，[Axis.set_major_formatter](https://matplotlib.org/api/_as_gen/matplotlib.axis.Axis.set_major_formatter.html#matplotlib.axis.Axis.set_major_formatter)和[Axis.set_minor_formatter](https://matplotlib.org/api/_as_gen/matplotlib.axis.Axis.set_minor_formatter.html#matplotlib.axis.Axis.set_minor_formatter)方法用来设置标签的格式。这种方式的好处是不用显式地列举出刻度值列表。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "set_major_formatter和set_minor_formatter这两个formatter格式命令可以接收字符串格式（matplotlib.ticker.StrMethodFormatter）或函数参数（matplotlib.ticker.FuncFormatter）来设置刻度值的格式 。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### a) Tick Formatters"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 121,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 接收字符串格式的例子\n",
    "fig, axs = plt.subplots(2, 2, figsize=(8, 5), tight_layout=True)\n",
    "for n, ax in enumerate(axs.flat):\n",
    "    ax.plot(x1*10., y1)\n",
    "\n",
    "formatter = matplotlib.ticker.FormatStrFormatter('%1.1f')\n",
    "axs[0, 1].xaxis.set_major_formatter(formatter)\n",
    "\n",
    "formatter = matplotlib.ticker.FormatStrFormatter('-%1.1f')\n",
    "axs[1, 0].xaxis.set_major_formatter(formatter)\n",
    "\n",
    "formatter = matplotlib.ticker.FormatStrFormatter('%1.5f')\n",
    "axs[1, 1].xaxis.set_major_formatter(formatter);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 接收函数的例子\n",
    "def formatoddticks(x, pos):\n",
    "    \"\"\"Format odd tick positions.\"\"\"\n",
    "    if x % 2:\n",
    "        return f'{x:1.2f}'\n",
    "    else:\n",
    "        return ''\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(5, 3), tight_layout=True)\n",
    "ax.plot(x1, y1)\n",
    "ax.xaxis.set_major_formatter(formatoddticks);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### b) Tick Locators "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "在普通的绘图中，我们可以直接通过上图的set_ticks进行设置刻度的位置，缺点是需要自己指定或者接受matplotlib默认给定的刻度。当需要更改刻度的位置时，matplotlib给了常用的几种locator的类型。如果要绘制更复杂的图，可以先设置locator的类型，然后通过axs.xaxis.set_major_locator(locator)绘制即可  \n",
    "locator=plt.MaxNLocator(nbins=7)  \n",
    "locator=plt.FixedLocator(locs=[0,0.5,1.5,2.5,3.5,4.5,5.5,6])#直接指定刻度所在的位置  \n",
    "locator=plt.AutoLocator()#自动分配刻度值的位置  \n",
    "locator=plt.IndexLocator(offset=0.5, base=1)#面元间距是1，从0.5开始  \n",
    "locator=plt.MultipleLocator(1.5)#将刻度的标签设置为1.5的倍数  \n",
    "locator=plt.LinearLocator(numticks=5)#线性划分5等分，4个刻度  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 123,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 接收各种locator的例子\n",
    "fig, axs = plt.subplots(2, 2, figsize=(8, 5), tight_layout=True)\n",
    "for n, ax in enumerate(axs.flat):\n",
    "    ax.plot(x1*10., y1)\n",
    "\n",
    "locator = matplotlib.ticker.AutoLocator()\n",
    "axs[0, 0].xaxis.set_major_locator(locator)\n",
    "\n",
    "locator = matplotlib.ticker.MaxNLocator(nbins=10)\n",
    "axs[0, 1].xaxis.set_major_locator(locator)\n",
    "\n",
    "\n",
    "locator = matplotlib.ticker.MultipleLocator(5)\n",
    "axs[1, 0].xaxis.set_major_locator(locator)\n",
    "\n",
    "\n",
    "locator = matplotlib.ticker.FixedLocator([0,7,14,21,28])\n",
    "axs[1, 1].xaxis.set_major_locator(locator);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " 此外`matplotlib.dates` 模块还提供了特殊的设置日期型刻度格式和位置的方式"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 126,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVsAAADQCAYAAACpz8JCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAp3ElEQVR4nO3deZhcZZ3o8e+vlu7qfd+ydGdfyAIJgZCAhCCIREVURBRHvKDoKMiM27iMjj53rqPjc73DgDDiMoMIOOAGqIigCTBACFkIkLWTTjpb791J72u994/3dAidTrqr+tSp6qrf53n6SXX1qfP+crr6V+95VzHGoJRSKrZ88Q5AKaVSgSZbpZTygCZbpZTygCZbpZTygCZbpZTyQCDeAQwrLi42M2bMiHcYSik1IVu2bGk2xpSMfD5hku2MGTPYvHlzvMNQSqkJEZHa0Z7XZgSllPKAJlullPKAJlullPJAVMlWRFaLyK/GOOYOEblJRD4XXWhKKZU8okq2xpgXgc4z/VxE5gIVxpj7gQIRWRBlfGd19HgPG2taYnFqpZRyVayaEdYCm5zH24E1ox0kIreKyGYR2dzU1BRxId97cje3P7wNXUxHKZXoYpVsi4F253EnUDjaQcaY+4wxK4wxK0pKThuWNqaLZhXR1NHH/qau6CNVSikPxCrZtgA5zuMc53vXrZpdBMBL2pSglEpwE062IhIUkaoRT68HLnAenwtsmGg5o5lRlEl5boiN+zXZKqUSW7SjES4F3iYi7wWWA3ed+nNjzF6gQURuAlqd710nIqyaXcTGmhZtt1VKJbSopusaY54DZp/y1DWjHHNntEFFYtWsIn677SjVjZ3MK8sZ+wVKKRUHk35Sw8l2W21KUEolsEmfbKcXZjI1P0OTrVIqoU36ZAt2CNjGAy2Ew9puq5RKTEmRbFfNLuJ49wB7GjriHYpSSo0qaZItaLutUipxJUWynZqfwfTCDF452BrvUJRSalRJkWwB5pflcKBZp+0qpRJT0iTbysIsDrV26+QGpVRCSppkW1WUSXf/EE2dffEORSmlTpM0ybayKBOA2pbuOEeilFKnS5pkW1WoyVYplbiSJtlOK8jEJ3CoRTvJlFKJJ2mSbVrAx5T8DGpbtWarlEo8SZNswXaSaTOCUioRJVWyrSzMolabEZRSCSipku2Mokzaugdo7x2IdyhKKfUWSZVsq5zhX4e0KUEplWCSKtlWFmYBOvxLKZV4kivZDk9saNV2W6VUYkmqZJudHqA4O43aZq3ZKqUSS1IlW4Cqoiyt2SqlEk7yJdvCTO0gU0olnKRLtpVFmdS199I3OBTvUJRS6qSkS7ZVRZkYA4dbe+IdilJKnZR0yfbN4V/abquUShxJl2xn6Lq2SqkElHTJtjArjcw0P0ePazOCUipxJF2yFRHKc0PUn+iNdyhKKXVS0iVbgPK8EPXtmmyVUokjeZOt1myVUgkkKZNtRV6IhvZehsK6rblSKjEkZbItzw0xGDa06LbmSqkEkZzJNi8DQNttlVIJIymTbUVeCIA6bbdVSiWIpEy2Zbk22WonmVIqUSRlsi3KSiPoF63ZKqUSRiDaF4rIHcBxIM8Y8+9nOOYF4IDz7TeNMTXRlhcJn08oy7UjEpRSKhFEVbMVkblAhTHmfqBARBac4dB7jTEfdb48SbTDKvJC1J3QKbtKqcQQbTPCWmCT83g7sOYMx10kIreLyF0iclpZInKriGwWkc1NTU1RhjK6Mp2yq5RKINEm22Kg3XncCRSe4bgfGmPuArYCl478oTHmPmPMCmPMipKSkihDGZ2t2fZijE5sUErFX7TJtgXIcR7nON+/hYiEgDbn2yNAeZRlRaU8L4O+wTAnega8LFYppUYVbbJdD1zgPD4XeFZEqkYc807geufxdGBvlGVFRcfaKqUSSVTJ1hizF2gQkZuAViAfuGvEYX8GekTkGiDXGLN1IoFGSsfaKqUSSdRDv4wxd4546poRP+8Gfhzt+SdKa7ZKqUSSlJMaAEpy0vGJro+glEoMSZtsg34fJTnp1OtYW6VUAkjaZAt2qUVtRlBKJYLkTra6Y4NSKkEkdbKtyMtIyDZbnWihVOpJ6mRblhuio3eQzr7BeIcCwOBQmDt+uY1Lv7+eF/Y1xzscpZSHkjrZDg//SoSmhHDY8OVfvcZjrx6jbyDMjT95mW89voOe/qF4h6aU8kBSJ9vyBEm2xhi+8dgb/GbbUT5/5Tye/dJaPr56Bv/14kFuf9jTuR5KqTiJelLDZFA+PIsszu22j245woMvH+LTa2Zz++VzEBG+dc0iCrPS+MHTe9lx7ASLpuTFNUalVGwldc12eMpuvBcR/9XmI8wpzeYf3jkfETn5/E2rZ5CdHuDeDfvjGJ1SygtJnWwz0vzkhgJxTbZH2rrZdLCVa8+b8pZEC5CXEeSjF1Xxx9frONjcFacIlVJeSOpkC7bdNp7J9ontdQC897ypo/785ktmEPD7+NFznm5koZTyWNIn27LcEPXtfXEr/7FXj7K8Mp/phZmj/rw0J8QHz5/Gr7cciXtzh1IqdlIi2TbGKYntrm9nd30H1y4bvVY77FOXzmYwHOYXG2s9ikwp5bUUSLbpNHb0MRT2ftbW468ew+8T1i2pOOtxlUWZrJpdxB9fr/MoMqWU15I+2ZbnhhgKG1q6vG1KCIcNj716jEvmFFOcnT7m8e9cVM7+pi6qGzo8iE4p5bWkT7alw8O/TnibbF87eoKjx3t473lTxnX8VYvKEYE/vVEf48iUUvGQ9Mm2PE5jbV850ArAJXOLx3V8aW6I5ZUFPKnJVqmklPTJtixOs8i21LZRWZhJaU5o3K+5enE5O+vaOdTSHcPIlFLxkPTJtjg7DZ/g6YgEYwxbDrVxflVBRK+7apHd7f1PO7SjTKlkk/TJNuD3UZyd7mnN9khbD00dfSyPMNlOL8xk0ZRcbUpQKgklfbKF4Vlk3nWQbaltA+D8ysiSLdimhG2Hjsd9pTKllLtSItmW5ng7ZXdLbRtZaX7ml+dE/NrhpoRndjW4HZZSKo5SItmW56V7nmyXVRbg98nYB48wpzSbaQUZPLu3KQaRKaXiJSWSbVlOiLbuAXoHYr8rQmffILvr2yNurx0mIqyZV8KL+5rpHwy7HJ1SKl5SI9k6OzY0etBuu/3wccKGiEcinGrNvBK6+ofYXNvqYmQT0zc4RHNnHwebu+hKkD3dlJpMknqnhmEnFxHv6KWyaPTVt9yypbYNEThven7U51g9p5igX3h2bxOrZ49vUkSsNHf28ZVfv/6WNuS8jCCfXTubj62aQSjoj2N0Sk0eKZFsT26P40EP/5baNuaV5pCXEYz6HNnpAVZUFfLsnia+evVCF6OLzLN7m/jCI9tp7x3gU2tmMTU/g8y0AE9sP8Z3/rib/3zhIP/y/iVcNr80bjEqNVmkRjNCrl0IJtadZOGwYeuhtqjba0+1Zn4Ju+s74jYE7JHNh7npZ5sozAry+G0X89WrF/KxVTO47vxp3H/zhTz8yYvIDQX55M838/ROHTmh1FhSItnmZQRJD/hinmwPtXbT0TvIedMnvnnjmnklADwXh1EJe+o7+Mbv3uDiOUU8ftslLCjPPe2YVbOLeOTTqzhnSh5/+4stuoCOUmNIiWQrIpTlxn5iw666dgAWVpyenCK1oDyHstx0z4eAdfcP8tmHtpITCvJvH1p21jbZvIwgD9xyIUun5XHbQ1tZv6fRw0iVmlxSItmCbbeN9ZTdXfUd+ATmlUU+mWGk4SFgz1c3MTjk3RCwbz2+g/1Nndx5w3mU5Iy9Dm9uKMjPb1nJvLIcPvfwNg7oxpVKjSplkm1pbnrMF6PZVdfOzOIs13ro18wrpb13kG2Hj7tyvrGs39PII5uPcNvaOVw8Z/yjILLTA/zob84n4BNu/flmOnVomFKnSYnRCGBrts/sasAYc9qW4m7ZXd/OudPyXTvf2+YV4/cJ63c3csGMQtfOO5qhsOF7T+5mRlEmn3v73IhfP70wk7s/spy/+enLfOGRV7n3xvPxRTGDzi0N7b1srGmhtqWbgy1dDA4ZSnLSKclJZ/GUPC6YWUB6QIetKe+kTLItyw3ROxCmvXdwQsOyzqSjd4DDrT3ccEGla+fMDQVZUVXA+j1NfPmdC1w772h+t+0ou+s7uPsjywj6o7vhuXhOMV9bt5B//sMu7nu+hk+vme1ylGc3OBTmmV0NPLL5CBv2NDK87dyUvBDBgI/mjj66+u0swsw0PxfPKeYDy6dxxcJSAlH+n5Uar9RJtnlvjrWNRbLdU2/3DltYMfH22lOtXVDKd5/cTf2JXsrzxr8QeSR6B4b4wdN7WTotj3WLz7455VhuuWQmWw+18f2n9rBsej4rZxW5FOXZvXKwlW8+toNdde2U54b4zGVzWLekglklb23W6egdYNOBVtbvaeSZnY08vbOBKXkhbryoihtXVpKfmeZJvCr1RJ1sReQO4DiQZ4z592iP8crUfJuojp3oiWo1rrEMj0QYbZjURFzuJNv1exr58IXu1ZpP9cBLtRw93sP3r1s64Vt/EeF7H1jKrroXuO3hbfzhc5dEtFtFpE50D/Dt3+/gN1uPMiUvxF0fXsa6JRVnXAQoJxTk7QvLePvCMr59jeEvuxr4+Uu1fP+pPdyzfh8fXVXFJy6ZNa7OQbc0dvSyq66DXXXtHGjqorGjl8aOPrr6BgkbCBtDZpqf/Mw0CjPTmJKfQWVhBlVFWcwpzWZqfkZcm2zU+ESVbEVkLlBhjLlTRP5JRBYYY3ZHeoyXKvIyAKg7HptOsl31HeRlBKlwufY51/ljWr87Nsm2s2+QH27Yx6XzSlgdQafY2eSEgtz70eVc+8MX+NzD23jglpVRN02czbZDbdz20DYa2nv57NrZfHbtHDLTxv+W9vuEdywq5x2LytlV1849G/bz4+dq+K8XDnLd+dO49dJZVBVluR53c2cfz1c38dL+FjbWtHKo9c1tkEpy0inLTacsN0RWegC/2A+wrr5BjvcMsL+pk+eqm+juf3NRpcw0P3NLs5lfnsP88lzml+Uwtyyb0px01/onevqHaGjvtV8dfTS299La1U9rVz/Huwfo7Buks2+Q3oEhBsOGwaEwIoJPIODzEQr6CAX9ZKT5yU4PkBMKkBMKkpcRJDcUIDcjaL9C9vus9ADZoQAZQX9E752hsKF3YIjegSF6hv/tD9Nzyve9A0P0D4YZGDIMDIUZGAozFDYMGYMxb57rbXOLWepiH0y0Ndu1wCbn8XZgDTAykY55jIjcCtwKUFkZm1rbsNKcdHwCx473xOT8u+raWVCe43rnm4hw2fwSfrftKH2DQ6536jz0ci3Huwf4/JXzXD3vgvJcvvO+JXz+ke1887EdfOd9i127NsYYfvo/B/juk7spzwvxq79dPaG1KMCOjb7rw8v4/JXzuO+5/Ty6+QgPbzrEO84p54YLp/O2uSVRLZkJNgFsP3KcDXua2LCnkdeOnADsOOWVMwv52KoqFk/NY2F5LnmZYzdxGWNo6ernYHMX1Y2d7G3oYE99B3/ZZUeTDMtJD1BVnMnU/Aym5mdSnJNGfkYaeRlB0gI+Aj5BBPoHw/QOhunuG6Ste4Dj3f00d/bbGnZ7H/XtvZzoGTgtjoBPKMhKoyAzeDKBluSkE/QLfp9NkOGwYShs6Bu0ya61q//k5J/2ngH6xrGynd8nhAI+An4fQb/gE8EAxqn1DwyFGXQS52DYjHm+8cpODyREsi0GapzHncBoE/jHPMYYcx9wH8CKFSvcu0qjCPh9lOeGOHbC/WQbDhv21Hdw/Yrprp8bbFPCgy8f4pUDbePerXc8+gaH+MnzB1g9u2jCyWo0718+jerGTu7dsJ/ZJVl84m2zJnzOrr5Bvvzr1/jDa3VctaiMf73uXFfb4GcWZ/Ev71/K318xj5+9cJD/fuUQf9pRz5S8EOuWVHDJ3GIunFl41hr0UNiwt6GDVw62sulAKy/sa6atewCfwLLKAr5w5Twum1/Koim5Ud3+iwjF2ekUZ6ezYsQolcaOXvY1dLKvqZN9jZ0cau2mpqmL56ub31IbPpu0gI/irDRKckNUFmVy4cxCyvNClOeGKM8LUZqTTmlOiNyMwIQ/QPsGhzjRM0B7zwDtTgLu7Buks/fNmnKPUzsdCttkOhQ22GIFv8/WnIN+IS3gIz3gJy3gIyPoJyPoJz3oIzPN1pCHa9eh4JvHpfl9+P1CwGeTuO+U/0+0H65nEm2ybQGGGz5znO+jOcZTFfkZMWlGONTaTXf/kOudY8NWzS4iLeBj/Z5GV5Ptb7cepbGjjx9cf55r5xzpS++Yz8HmLv7PH3dRVZTFleeURX2ug81dfOqBLVQ3dvDVqxdw66WzYjaMrzQ3xFeuXsDfXzmXZ3Y28sjmw/z8pVp+8j8HCPqF6YWZTCvIpNxZd2NgyNDRO8CB5i4Ot/bQ70xEKc8NsXZ+KZctKOXSucUx74ArzQlRmhMatUmod2CItu5+TvQMnKwJhg2kB+xtfmZagILMNEJBX8yu60jpAT+lOf6YtusnimiT7Xrg48BvgXOBh0WkyhhTe5ZjHoo+THdMyc/gtSPHXT/v7nr3pumOJjMtwEWzili/u5F/fNdCV/4QhsKGHz1Xw5KpeVw8J3YjBnw+4QfXn8fR+17isw9u5QcfOpd3L50S8Xke336Mr//mdfx+4f6bL+Rtc0tiEO3p0gN+3rW0gnctraCnf4hXDrbyUk0LtS1dHGnrYXddO36fEPT7yEzzM6c0myvPKWd+eTYrqgqZVpDhWeIaSyjopyIv42T/hfJWVMnWGLNXRBpE5CagFcgHvg5cc6ZjjDF73Qh4IqbkhXhqR6/rExt21rk3TfdMrjynjG/87g1213e4ktSf2lHPgeYu7rlxecyTQUaanwduXsknfv4Ktz+8jZbOfm5aPWNcr+3qG+Rbj+/g0S1HWF6Zz503LGN6YWzXJD6TjDQ/l84r4dJ53iR6lVyiHvpljLlzxFPXjOOYuKrIC9E/GKalq5/ibPeG9ux2eZruaNYtLudbj+/g8e3HJpxsjTHcu2E/M4uzTm4wGWt5mUEeuGUltz+8jX96fAc7jp3gC++Yf3Jh95EGh8L8eusR/t/T1TR09HLb2jn83RVzdfKBmrRSZlID2GYEsCMSXE229R0smTrxZRXPpig7nYvnFPPE9mN8+ar5E6qNPl/dzOtHT/Dd9y9xvRPgbEJBP/feuJzvP7WHn71wgMe3H+Pjq2dyxcJSKgszycsM8sbRE2w60Mavtx5hX2Mnyyrzufsjy07rCFJqsknRZNvL0mnunLO7f5BDrd1cd75LJzyLa86dwhcf3c7WQ8cntMfZPRv2UZabzvuWT3UxuvEJ+H18dd1CblxZxf99eg//8ex+/uPZ/acdd05FLv/x0fO5alFZwrR5KjURKZVshycc1Lk4/Ku6oROIbXvtsKsWlfG13/p4YvuxqJPt1kNtbKxp5R/ftTCuC7FUFmVy5w3L+PI7F1Dd0MHh1m6aOvo4Z0ouK2YUunrnoVQiSKlkW5iVRnrA5+rEhr0Ndk2EeWXZrp3zTHJCQd6+oJTfv1bHP75rYVTtl/es309+ZjBmU38jZQfca++4Sn4p1dsgIkzJz+CYi/t67W3oIC3gi8m0ztFcc+4Umjv72FgT+Tbne+o7eGZXAzetmkFWekp9zioVdymVbME2JdS5WrPtZE5JtmcdTWsXlJKdHuCxV49G/Nq7/lpNZpqfj49z2JVSyj0pl2yn5GdwzMVZZHsbOmKyitiZhIJ+3nNuBY9tPxbRzrtbatv4/Wt13HLJTAqydBlBpbyWesk2L0RjR68r+3q19w5Qd6KXuR60157qM5fNIRw23LNh37iOD4cN//v3OynNSfd8QW+llJVyybYiP4OwgYaOie+0W+10js33YCTCqaYXZvLBFdP55abD4+rse+K1Y7x6+Dhfumq+ttUqFScpl2yHx9q60W6718NhXyPddvkcDIYfrj977banf4jvPbmbxVNz+cDy2I8FVkqNLvWSrTPW9qgLyXZPfQeZaf64DF2amp/Bhy6YziObD3OkrXvUY4wx/PMfdnLsRC/feNc5upq/UnGUcsm2Yrhm68Lwr+rGDuaWZsctiX127RwE4YuPbqej9/TFne/8SzUPvnyIT62Z5dleYEqp0aVcss1OD5AbCrjSjLCnvjMuTQjDKvIy+NfrlrL5YBsf/vFGmk5ph37gpYP82zPVXL9iGl+J8c68SqmxpWRvyZT8DI5OcPhXa1c/zZ19ng77Gs21y6aSlxnkM7/YygfufZF5ZTlUN3ZQ29LNFQvL+M77lujaAkolgJSr2YJNthNdH2F4mu7cONZsh62dX8qDn1yJ3yccau1i8ZQ8vvzO+dz9kWW6JKFSCSIla7YVeSG2HWqb0Dn2xmnY15ksryxg/Rcvi3cYSqkzSMlqT1VRJm3dA5zoPr1Tabz2NnSQEwpQlqurUymlxpaSyXZWsZ3xVdPcGfU5dtd1ML/M/a3LlVLJKSWT7cwSu0LXgeauqF4fDht213dwzpTYbPColEo+KZlspxdk4vdJ1Mn2cFs3nX2DnBOj3XSVUsknJZNtWsDH9IIMapqiS7Y7j9mty7Vmq5Qar5RMtgCzSrKpibJmu6uuPeZblyulkkvKJtuZxVkcbO4iHDYRv3ZnXTuzS7JjunW5Uiq5pHSy7RkYor498plku+o6WKjttUqpCKRssp0V5YiE4939HD3eo+21SqmIpG6yPTnWNrJku7PO6RzTmq1SKgIpm2zLctPJCPqpaYpsYsOuOjtNV5sRlFKRSNlkKyLMLM6KuBlh57F2SnLSKcnRabpKqfFL2WQLtt020mS7q65da7VKqYildrItzuJwazd9g0PjOr5/MEx1Y4e21yqlIpbSyXZmSRZhA4dbR9/Da6T9TZ0MDBkdiaCUilhqJ9vhEQnjnLZ7cppuhc4cU0pFJsWTrR1rO97hX68ePk5mmp8ZRVmxDEsplYRSOtnmZQQpzk7jwDhrthtrWrhgRqFuNaOUiljKZ41Zxdnscba4OZvmzj6qGztZNVu3BFdKRS7lk+35Mwp44+gJuvoGz3rcxpoWAC6apclWKRW5qJKtiNwhIjeJyOfGOO4FEfmF8zUruhBj66JZRQyGDZtrz74B5MaaFrLS/CzWkQhKqShEnGxFZC5QYYy5HygQkQVnOfxeY8xHna+aqKOMoRVVBQR8crLmeiYba1q5YKa21yqlohNN5lgLbHIebwfWnOXYi0TkdhG5S0ROK0tEbhWRzSKyuampKYpQJi4rPcC50/N5af+Zk21jRy/7GjtZpU0ISqkojZlsReQKEfnE8BdQArQ7P+4ECs/y8h8aY+4CtgKXjvyhMeY+Y8wKY8yKkpKSKMJ3x6pZRbx+9ASdZ2i3fbmmFdD2WqVU9MZMtsaYZ4wxPxn+ApqB4VH9OcCoVUIRCQHDDaFHgHIX4o2JVbOLGAobXjnQOurPN9a0kJ0eYJG21yqlohRNM8J64ALn8bnABhEJikjViOPeCVzvPJ4O7I0uxNhbXllA0H/mdtuXalq4UNtrlVITEHH2MMbsBRpE5Cag1fl+OXDXiEP/DPSIyDVArjFm64SjjZGMND/Lphfw0ijJtrG9l5qmLi6adbbWEqWUOrtANC8yxtw54vuXgWtGPNcN/Dj60Lx10ewi7v5rNe29A+SGgief/+22owCsnl0cr9CUUklA74sdq2YVETawqebNdtuWzj7u/us+Ll9QyuKpeXGMTik12WmydSyrzCc94OP+lw6eXN/2zr9U0z0wxNfWnW0osVJKjU2TrSMU9PNP71nE89XNfPqBLbxx9AQPvnyIG1dWMqdUl1RUSk1MVG22yeojKyvxCXz1t6/zwv4WMoN+7nj73HiHpZRKAlqzHeGGCyv53geWMjAU5o4r5lKUrRs7KqUmTmu2o7h+xXTecU4Z+Zlp8Q5FKZUktGZ7BppolVJu0mSrlFIe0GSrlFIe0GSrlFIe0GSrlFIe0GSrlFIeEGNMvGMAQESagNooXlqMXWM3UXkdn5vl6bWNvjy9drErL9GvbZUx5rTdEBIm2UZLRDYbY1bEO44z8To+N8vTaxt9eXrtYldeol/bM9FmBKWU8oAmW6WU8kAyJNv74h3AGLyOz83y9NpGX55eu9iVl+jXdlSTvs1WKaUmg2So2SqlVMLTZKuUUh7QZKuUUh5IqmQrIgn3/xGRpSIik7m8RLyuACJSKiL+RC0vUa8bgIgExz5q8paXiBL2zTBeIpIvIlUAxpiw85wkwhtdRBYCf2eMMSKyTkTOF5FFk6W84cSSaNcVQESmAV81xgw5SXCpiCwSkZgsiB9JecPXKBGvG5z8v3zXeVwoIrkiUjwZy0uk6zqWZNip4e3Ah0XkCPAC8Iwxpg1IhGEWHwCeFpGZwGrgKPZvrwp4yhgzlODlfVBE3g38FviLMeY4iXFdAd4NbBKRqcA3gP8BBAgCr8a5vGtFZB3wFPB0gl03gHXAqyJSAXwLqAaOiMhzxphjiV6eiBQBecaYmlM/0LCjq8Iuxu2qST/0S0QqgcPAAuwfxDnAPmAQeNwYsyuOsX0V+4e4GHjUGHNQREqADwIvGmNedbm8rwNb3SpPRJYAOcCFwFKgAXgM6AOajDFHXAw/IiLyKPA0kAb8Bfs7nw28B/vB8loMynvGKe+Zs5UnIquxd40rePO6PQ4cx163uM7rF5FfAA8AU4CXsOsMrAAuAP7bGLPX5fIedMqrcKM8EbkO+Bj2d/ASb1awEBFfoibcSZ9sRyMiFwN3Au83xhyKYxwZQAkwA9gL9AD5wHJsjaczBmVWYpPAbqAbKHDK+/NEyxORy4C3AZ8CrjDG7J5QsBPk1NivBv6K/cANAhcDr8QioTm12muwyX3c5TnX7RLg08DlbiezSDnXLQ+4CPiDMeao8/w6YKMxptXl8iqx78NVwBMTLU9Eio0xzSJyDraCtRBbWw5iK1jb3IzfLZM62YrIPCALm8SygVpjTJPzswXxTgbDRCRgjBkUkYuwf5xbjDEbXC7jQiAMbDfGDDjPrcQ2J7xqjFkf4flygSGgEugxxhw85WfvMMb82a3Y3eDUwq8F9hhjHnH53KWAH1srHXSeWwS8F9h3ankikm2M6RSRPCB4ahIWkeuMMb9yM7ZoORUBH/YD+Tzs+7IxBteuAOg2xvQ53wtwrlNek1vlicglwPeAD8ezgnU2kzbZOp03NwHTgH7srW0r9pPT1U/mKGILADcDz5/ajCEiWUDm8AeCi+X5gE9iayvTgIeMMRtFZAbQYYxpieKct2Nr5U3OeZuwtaAjIiImjm8cEZk3snbodMIIcMTt2ETkG0AHNjH9wRhzVETOBTqBmlPLE5GPA+cDNUAXcBDYYIzpT4RbXBGZZYypGfHcEiAD2Db8Qe1ieV/ELolYA/zKGNMqIquAAeA1Y0x/hOdbiq1Y5TgxbzfGHHB+Nt0Yc9jN+N00mZPtMuASY8xdIpKNvXW+CHtL8Z/GmO1xjG0e8HHsmyEdeBl40hjTKCKZxphul8ubD8w2xvxRRKYDS4AnganAe40xP4zwfHOA5caYR5xOjSnOOX3YtuAON+OPMLbF2BpMDbAJ2xxT7/zM73ano3MLPMcY81enszDHGPOwiJQBC0+9Q3Fua5cAv8bWFmcCs7Btto+4/XuPlHPtvg3UYa/dn4evXYzKm4H9/7+AvetoN8Y86dR28069Wxrn+fzArdg7rm5sk1wG9v8Rt7/38ZrMyTYTuBFb43raGNPlPH8JtvYYt9tcEQmecis/F7gKmIf943vKGHO3y+XlAx/CdhbswHY+HMZ2lN1ijPlQJLVRJ+ZbgI3ABuAEttb4UewtYdxuhZ3mjUGgCHsbvww4hn0fHDDGPOFyebOx7YJ/NsbsEpHLgZ3YJPJ5Y8x1pxy7GJtUfmOM2ek8VwB8GNvcENemF6c5pB9bM7wWe+3qnK+dkTY1jaO8+dj34h+wdwFXAC8Ca4C/Ncasi/B8C4ErjTH/7iTeAt5sAnnSGLPJxfBdN2mHfhljukVkPTbhXioi27F/hLOAR+Mc28DwLaMxphrbeI+IfBObDHH5VvwE9na1xdhxoG9gOyPeB/xbFPFXi8hdwPuBG3izMwggbqM7AIwx7c7DbuBuOJnkfgD8ZwzK2y8iw52bYD+AVmA75u4fcewbzofBB0XkIHZkSBjbBBGLIVURMcY0Og+P8+a1Owe4B/hRDIrcjx2aWWaMOS4irwLzsc0s90RxvlqgW0Q+B6wHDhtjnhGRduxdXEKbtDXbUzkdQfOBA9hG94ToGIO3jv8b7jzxqNzZwD8YY26d4DlWYptCOrCJ4zG3b9WjMXJcpdPc0eBFm6iIXAB8BvjUaG2OIrIcuBLIxDZ3DAG/HO5ci7dRrt08YH+sfq+ntlU7w+I+A9wcaXut8/oM7FDGSuwQshLsGOZfGmP2uRe1+yZ1sj1T7TDeHTiJwLnNmmmM2TfR65EIHTuJRERysG3az45xXBoQTpQkmwicD8WVxpjfTfA8C4AybG3Xb4zZ70J4MTWpk+0wTa6xodc1Ok7NEb126lSTZl7x2eibOvUMJ7R4lDdW2cYR+6gmH69/b4lk0idbccQ7jtF4HZvb5SVywvA6tlPLO1PZ4uEKZNHwOr7Rykvk91SsTcpkKyI5IrLMGVeZULUIr2NzuzwRCYpIiYhc5fTyJwyvY4ukPKcd9z2JmnC9ji8W5YnIgkStWI3HZB36tQQ71/xdzhCbg9hhILXxDMrhdWwTLm9EG+Mq7AiEauByESk0xjzndtCJGtsEyluMHd89lKAdil7H52p5YieRXGuM+a474XlvsibbRcBPjJ36dwHwEeBP2J7JePM6NjfKywWuFpGj2JWZfuqcrwg7ZrQ2jh9kXscWbXn5wHaw69gmYOdiPt7G50p5p7wuDTvB5uRaIy7G6olJl2zFTgFcAKxxanL7gC8kQk3C69hcLC8Nu7ZEBna8crmIvIidgHEIO54xXryOLeLynOFMNwMHReQ57MSHChF5I0Hel57G52Z5pyTom4H9IrLZ2EWdsoHeyZR0J93QL7GLvFRgF0epAOZiJzLEddYYeB+bm+WJSJqxi6UUY9dCGF4PocUY8zMXw46Y17FFWp7Ygfbp2Fl2q7ETGk4YY77udmzR8Do+t8tzfg+fxk4rLgP2YCeMPBSriRixMBmT7TrsPOuNzh/Eu4Edxln5J568js3t8sQuG5iJXa2qCQgBAyaGi5WMl9exRVKeiMwC6o2z0IzY9WL9ZsTqWvHidXyxKE9ECowxbWJXzvsIkG+M+X4CNtec0aRqRhCRKdgFUVYCV4pIHXYloURItJ7G5nZ5Yle3ugxow86dP4qtySXCbbCnsUVSntjFXa4G5orIbmw7ZTZ2N4e48zo+t8tzOiw/CfQ57/lNwE+wH4STaijZpEi2IlJmjGnAWXgbeztRj+0tHj4mLp9wXsfmdnkiUuV0+CwEnsOugdCPXYP0QuzWM3HhdWyRlCcis42dIroYu/BRKXYxlKuwo0HimgS8js/t8k55D8/ALuLzjHO+1cA8Y8weF8P3RMKPs3VuSb7o3Ipswa7sdT7Qjv1DeA7i8wnndWxul+e0hf0vESnHbtuzBLunVhV2K524bd/idWyRlOcc+00RGV4QZSrwdmPMU8AT2I0e48br+GJU3vD43Pfi9Es4ybwWmDPxqL03GWq2s7HL6X0Ae+uw1/n6EnaVdld3PUjw2Nwurxy7gWMztmbcgn1PTAFCcRzuFY/YIinPYBeEX4Wt/WYBc0Tkp9g1df/Z5dgi5XV8rpfnjDjwY38f+4CLRSQd+3va4FbgXpoMyXYfdqX3ILa3fSl2Ee504PU4xgXex+Z2eZdjN8gbFLvQ8xFswulIgLZar2OLpDwD/BjbZn4edkzpAeBrxGYb9Uh5HZ+r5YnIHcB04PfYkTaLsXdy6di1hK8HEnJTx7NJ+NEII9sfxS5bV4yt5Q0ZY15MldjcLM8ZC/lt7B/FCWyTxP3G2ZgvnryOLZLynKac27Br+9ZiF8iuxA5JasRuGxS3cclexxeL8pwOyk9hKxfPYne6qMI2LfwZO/omESYwRSThk+2ZOL/kq4wx98Y7lpG8ji2a8sRuEpmDHcR/IXABtomiB3jRGLMlFrEmYmyRlOd8wM3D3l0sx27PU41N0O1mjDVuY83r+GJVnoiUAGuxG0P6jTG/ct7nhybTRIZTTcpk6/yCb8Be+A1xDuctvI7NrfKc9rAy7EaVbxhjfuNKgC7wOrbxludMKil3vsqAl+NZqx3J6/hiUZ7YzUeXALuxdx598R7pEa1JmWzh5Hi+dmNMb7xjGcnr2NwsT+xGmv2JWHvwOrZIyhORqUCrMaZnrGPjwev43CzP+fD7Cnaz1I0TDi5OJm2yVUqlDmdyw6SaxDCSJlullPJAwk9qUEqpZKDJVimlPKDJVimlPKDJVimlPPD/AYxskYi+J4r9AAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 360x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 特殊的日期型locator和formatter\n",
    "locator = mdates.DayLocator(bymonthday=[1,15,25])\n",
    "formatter = mdates.DateFormatter('%b %d')\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(5, 3), tight_layout=True)\n",
    "ax.xaxis.set_major_locator(locator)\n",
    "ax.xaxis.set_major_formatter(formatter)\n",
    "base = datetime.datetime(2017, 1, 1, 0, 0, 1)\n",
    "time = [base + datetime.timedelta(days=x) for x in range(len(x1))]\n",
    "ax.plot(time, y1)\n",
    "ax.tick_params(axis='x', rotation=70);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 三、legend（图例）"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在具体学习图例之前，首先解释几个术语：\n",
    "##### legend entry（图例条目）\n",
    "每个图例由一个或多个legend entries组成。一个entry包含一个key和其对应的label。\n",
    "##### legend key（图例键）\n",
    "每个 legend label左面的colored/patterned marker（彩色/图案标记）\n",
    "##### legend label（图例标签）\n",
    "描述由key来表示的handle的文本\n",
    "##### legend handle（图例句柄）\n",
    "用于在图例中生成适当图例条目的原始对象\n",
    "\n",
    "以下面这个图为例，右侧的方框中的共有两个legend entry；两个legend key，分别是一个蓝色和一个黄色的legend key；两个legend label，一个名为‘Line up’和一个名为‘Line Down’的legend label"
   ]
  },
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![](https://img-blog.csdnimg.cn/1442273f150044139d54b6c2c6384e37.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "图例的绘制同样有OO模式和pyplot模式两种方式，写法都是一样的，使用legend()即可调用。  \n",
    "以下面的代码为例，在使用legend方法时，我们可以手动传入两个变量，句柄和标签，用以指定条目中的特定绘图对象和显示的标签值。  \n",
    "当然通常更简单的操作是不传入任何参数，此时matplotlib会自动寻找合适的图例条目。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots()\n",
    "line_up, = ax.plot([1, 2, 3], label='Line 2')\n",
    "line_down, = ax.plot([3, 2, 1], label='Line 1')\n",
    "ax.legend(handles = [line_up, line_down], labels = ['Line Up', 'Line Down']);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "legend其他常用的几个参数如下：\n",
    "\n",
    "##### loc设置图例位置  \n",
    "loc参数接收一个字符串或数字表示图例出现的位置  \n",
    "ax.legend(loc='upper center') 等同于ax.legend(loc=9)\n",
    "\n",
    "\n",
    "\n",
    "| Location String | Location Code |\n",
    "| --------------- | ------------- |\n",
    "| 'best'          | 0             |\n",
    "| 'upper right'   | 1             |\n",
    "| 'upper left'    | 2             |\n",
    "| 'lower left'    | 3             |\n",
    "| 'lower right'   | 4             |\n",
    "| 'right'         | 5             |\n",
    "| 'center left'   | 6             |\n",
    "| 'center right'  | 7             |\n",
    "| 'lower center'  | 8             |\n",
    "| 'upper center'  | 9             |\n",
    "| 'center'        | 10            |"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,axes = plt.subplots(1,4,figsize=(10,4))\n",
    "for i in range(4):\n",
    "    axes[i].plot([0.5],[0.5])\n",
    "    axes[i].legend(labels='a',loc=i)  # 观察loc参数传入不同值时图例的位置\n",
    "fig.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 设置图例边框及背景 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x216 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure(figsize=(10,3))\n",
    "axes = fig.subplots(1,3)\n",
    "for i, ax in enumerate(axes):\n",
    "    ax.plot([1,2,3],label=f'ax {i}')\n",
    "axes[0].legend(frameon=False) #去掉图例边框\n",
    "axes[1].legend(edgecolor='blue') #设置图例边框颜色\n",
    "axes[2].legend(facecolor='gray'); #设置图例背景颜色,若无边框,参数无效"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "##### 设置图例标题"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax =plt.subplots()\n",
    "ax.plot([1,2,3],label='label')\n",
    "ax.legend(title='legend title');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 思考题\n",
    "- 请尝试使用两种方式模仿画出下面的图表(重点是柱状图上的标签)，本文学习的text方法和matplotlib自带的柱状图标签方法bar_label\n",
    "![](https://img-blog.csdnimg.cn/99bc6e007eb34fc09015589d56c6eafc.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "hide_input": false,
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.4"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {
    "height": "237.99px",
    "width": "327.99px"
   },
   "number_sections": false,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {
    "height": "calc(100% - 180px)",
    "left": "10px",
    "top": "150px",
    "width": "239.625px"
   },
   "toc_section_display": true,
   "toc_window_display": true
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
